home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-21 | 1.4 KB | 90 lines | [TEXT/CWIE] |
- #include <iostream.h>
- #include <fstream.h>
- #include <string.h>
-
- const short kMaxNameLength = 40;
-
-
- //--------------------------------------- MenuItem
-
- class MenuItem
- {
- private:
- float price;
- char name[ kMaxNameLength ];
-
- public:
- void SetName( char *itemName );
- char *GetName();
- void SetPrice( float itemPrice );
- float GetPrice();
- };
-
-
- // I added these two prototypes. They should have been here
- // in the first place... -- Dave Mark 10/20/95
- istream &operator>>( istream &is, MenuItem &item );
- ostream &operator<<( ostream &os, MenuItem &item );
-
-
- void MenuItem::SetName( char *itemName )
- {
- strcpy( name, itemName );
- }
-
- char *MenuItem::GetName()
- {
- return( name );
- }
-
- void MenuItem::SetPrice( float itemPrice )
- {
- price = itemPrice;
- }
-
- float MenuItem::GetPrice()
- {
- return( price );
- }
-
-
- //-------------------------- iostream operators
-
-
- istream &operator>>( istream &is, MenuItem &item )
- {
- float itemPrice;
- char itemName[ kMaxNameLength ];
-
- is.getline( itemName, kMaxNameLength );
- item.SetName( itemName );
-
- is >> itemPrice;
- item.SetPrice( itemPrice );
-
- is.ignore( 1, '\n' );
-
- return( is );
- }
-
- ostream &operator<<( ostream &os, MenuItem &item )
- {
- os << item.GetName() << " ($"
- << item.GetPrice() << ") ";
-
- return( os );
- }
-
-
- //--------------------------------------- main()
-
- int main()
- {
- ifstream readMe( "Menu Items" );
- MenuItem item;
-
- while ( readMe >> item )
- cout << item << "\n";
-
- return 0;
- }